// Sage Android Client.
// Connect to a Sage server, remotely execute commands and display results.
//
// Copyright (C) 2010, Harald Schilly <harald.schilly@gmail.com>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.

/**
 * 
 */

package org.sagemath.android;

import android.app.Activity;
import android.content.res.Configuration;
import android.util.DisplayMetrics;
import android.view.Display;

/**
 * @author Harald Schilly
 */
public class Utils {
  
  /**
   * @param activity
   * @return 1 is portrait and 2 is landscape
   */
  final public static int screenOrientation(Activity activity) {
    int orientation = activity.getResources().getConfiguration().orientation;
    
    // if undefined
    if (orientation == Configuration.ORIENTATION_UNDEFINED) {
      final Display display = activity.getWindowManager().getDefaultDisplay();
      
      if (display.getWidth() == display.getHeight()) {
        orientation = Configuration.ORIENTATION_SQUARE;
      } else {
        if (display.getWidth() < display.getHeight()) {
          orientation = Configuration.ORIENTATION_PORTRAIT;
        } else {
          orientation = Configuration.ORIENTATION_LANDSCAPE;
        }
      }
    }
    return orientation;
  }
  
  /**
   * @return
   */
  final public static float getScaledWidth(Activity activity) {
    DisplayMetrics dm = activity.getResources().getDisplayMetrics();
    int absWidth = dm.widthPixels;
    return absWidth / dm.scaledDensity;
  }
}
